package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoUserNormalProv;

import java.util.*;
public class MoUserNormalProvExample extends SgExample<MoUserNormalProvExample.Criteria> {
    public static final Class<MoUserNormalProv> beanClass = MoUserNormalProv.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn provName;
    public static EntityColumn useTime;
    public static EntityColumn normalId;
    public static EntityColumn provId;
    public static EntityColumn userId;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        provName = listMap.get("provName");
        useTime = listMap.get("useTime");
        normalId = listMap.get("normalId");
        provId = listMap.get("provId");
        userId = listMap.get("userId");
        }

    public MoUserNormalProvExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoUserNormalProvExample.Criteria createCriteriaInternal() {
        return new MoUserNormalProvExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoUserNormalProvExample.Criteria andProvNameIsNull() {
            return isNull(provName);
        }

        public MoUserNormalProvExample.Criteria andProvNameIsNotNull() {
            return isNotNull(provName);
        }

        public MoUserNormalProvExample.Criteria andProvNameEqualTo(String value) {
            return equalTo(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameNotEqualTo(String value) {
            return notEqualTo(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameGreaterThan(String value) {
            return greaterThan(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameLessThan(String value) {
            return lessThan(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameLike(String value) {
            return like(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameNotLike(String value) {
            return notLike(provName, value);
        }

        public MoUserNormalProvExample.Criteria andProvNameIn(List<String> values) {
            return in(provName, values);
        }

        public MoUserNormalProvExample.Criteria andProvNameNotIn(List<String> values) {
            return notIn(provName, values);
        }

        public MoUserNormalProvExample.Criteria andProvNameBetween(String value1, String value2) {
            return between(provName, value1, value2);
        }

        public MoUserNormalProvExample.Criteria andProvNameNotBetween(String value1, String value2) {
            return notBetween(provName, value1, value2);
        }
        public MoUserNormalProvExample.Criteria andUseTimeIsNull() {
            return isNull(useTime);
        }

        public MoUserNormalProvExample.Criteria andUseTimeIsNotNull() {
            return isNotNull(useTime);
        }

        public MoUserNormalProvExample.Criteria andUseTimeEqualTo(Date value) {
            return equalTo(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeNotEqualTo(Date value) {
            return notEqualTo(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeGreaterThan(Date value) {
            return greaterThan(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeLessThan(Date value) {
            return lessThan(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(useTime, value);
        }

        public MoUserNormalProvExample.Criteria andUseTimeIn(List<Date> values) {
            return in(useTime, values);
        }

        public MoUserNormalProvExample.Criteria andUseTimeNotIn(List<Date> values) {
            return notIn(useTime, values);
        }

        public MoUserNormalProvExample.Criteria andUseTimeBetween(Date value1, Date value2) {
            return between(useTime, value1, value2);
        }

        public MoUserNormalProvExample.Criteria andUseTimeNotBetween(Date value1, Date value2) {
            return notBetween(useTime, value1, value2);
        }
        public MoUserNormalProvExample.Criteria andNormalIdIsNull() {
            return isNull(normalId);
        }

        public MoUserNormalProvExample.Criteria andNormalIdIsNotNull() {
            return isNotNull(normalId);
        }

        public MoUserNormalProvExample.Criteria andNormalIdEqualTo(Long value) {
            return equalTo(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdNotEqualTo(Long value) {
            return notEqualTo(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdGreaterThan(Long value) {
            return greaterThan(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdLessThan(Long value) {
            return lessThan(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(normalId, value);
        }

        public MoUserNormalProvExample.Criteria andNormalIdIn(List<Long> values) {
            return in(normalId, values);
        }

        public MoUserNormalProvExample.Criteria andNormalIdNotIn(List<Long> values) {
            return notIn(normalId, values);
        }

        public MoUserNormalProvExample.Criteria andNormalIdBetween(Long value1, Long value2) {
            return between(normalId, value1, value2);
        }

        public MoUserNormalProvExample.Criteria andNormalIdNotBetween(Long value1, Long value2) {
            return notBetween(normalId, value1, value2);
        }
        public MoUserNormalProvExample.Criteria andProvIdIsNull() {
            return isNull(provId);
        }

        public MoUserNormalProvExample.Criteria andProvIdIsNotNull() {
            return isNotNull(provId);
        }

        public MoUserNormalProvExample.Criteria andProvIdEqualTo(Long value) {
            return equalTo(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdNotEqualTo(Long value) {
            return notEqualTo(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdGreaterThan(Long value) {
            return greaterThan(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdLessThan(Long value) {
            return lessThan(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(provId, value);
        }

        public MoUserNormalProvExample.Criteria andProvIdIn(List<Long> values) {
            return in(provId, values);
        }

        public MoUserNormalProvExample.Criteria andProvIdNotIn(List<Long> values) {
            return notIn(provId, values);
        }

        public MoUserNormalProvExample.Criteria andProvIdBetween(Long value1, Long value2) {
            return between(provId, value1, value2);
        }

        public MoUserNormalProvExample.Criteria andProvIdNotBetween(Long value1, Long value2) {
            return notBetween(provId, value1, value2);
        }
        public MoUserNormalProvExample.Criteria andUserIdIsNull() {
            return isNull(userId);
        }

        public MoUserNormalProvExample.Criteria andUserIdIsNotNull() {
            return isNotNull(userId);
        }

        public MoUserNormalProvExample.Criteria andUserIdEqualTo(Long value) {
            return equalTo(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdNotEqualTo(Long value) {
            return notEqualTo(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdGreaterThan(Long value) {
            return greaterThan(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdLessThan(Long value) {
            return lessThan(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(userId, value);
        }

        public MoUserNormalProvExample.Criteria andUserIdIn(List<Long> values) {
            return in(userId, values);
        }

        public MoUserNormalProvExample.Criteria andUserIdNotIn(List<Long> values) {
            return notIn(userId, values);
        }

        public MoUserNormalProvExample.Criteria andUserIdBetween(Long value1, Long value2) {
            return between(userId, value1, value2);
        }

        public MoUserNormalProvExample.Criteria andUserIdNotBetween(Long value1, Long value2) {
            return notBetween(userId, value1, value2);
        }
    }
}